home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Converters / Convert_PICT / Source / UncommentedPSCode / Lines < prev    next >
Text File  |  1995-06-12  |  2KB  |  108 lines

  1. %BEGIN Lines
  2. /currentX 0 def
  3. /currentY 0 def
  4. /PICTline
  5. {
  6.     /endY exch def
  7.     /endX exch def
  8.     /startY exch def
  9.     /startX exch def
  10.     penHeight 0 gt
  11.     penWidth 0 gt
  12.     and
  13.     {
  14.         gsave
  15.             penPattern usePattern
  16.             newpath
  17.                 penHeight 1 eq
  18.                 penWidth 1 eq
  19.                 and
  20.                 {
  21.                     startX startY moveto
  22.                     endX endY lineto
  23.                     stroke
  24.                 }
  25.                 {
  26.                     endY startY lt
  27.                     {
  28.                         endX startX gt
  29.                         {
  30.                             startX startY moveto
  31.                             endX endY lineto
  32.                             endX penWidth add  endY lineto
  33.                             endX penWidth add  endY penHeight add lineto
  34.                             startX penWidth add  startY penHeight add lineto
  35.                             startX  startY penHeight add lineto
  36.                         }
  37.                         {
  38.                             startX penWidth add startY moveto
  39.                             endX penWidth add endY lineto
  40.                             endX endY lineto
  41.                             endX endY penHeight add lineto
  42.                             startX startY penHeight add lineto
  43.                             startX penWidth add startY penHeight add lineto
  44.                         }
  45.                         ifelse
  46.                     }
  47.                     {
  48.                         endX startX gt
  49.                         {
  50.                             startX startY moveto
  51.                             startX penWidth add startY lineto
  52.                             endX penWidth add endY lineto
  53.                             endX penWidth add endY penHeight add lineto
  54.                             endX endY penHeight add lineto
  55.                             startX startY penHeight add lineto
  56.                         }
  57.                         {
  58.                             startX startY moveto
  59.                             endX endY lineto
  60.                             endX endY penHeight add lineto
  61.                             endX penWidth add endY penHeight add lineto
  62.                             startX penWidth add  startY penHeight add lineto
  63.                             startX penWidth add  startY lineto
  64.                         }
  65.                         ifelse
  66.                     }
  67.                     ifelse
  68.                 closepath
  69.                 fill
  70.             }    % End pensize = 1.
  71.             ifelse
  72.         grestore
  73.     }    % End pensize >0
  74.     if
  75. } def
  76. /line
  77. {
  78.     /endY exch def
  79.     /endX exch def
  80.     /startY exch def
  81.     /startX exch def
  82.     startX startY endX endY PICTline    
  83.     
  84.     /currentX endX def
  85.     /currentY endY def
  86. } def
  87. /lineFrom
  88. {
  89.     /endY exch def
  90.     /endX exch def
  91.     currentX currentY endX endY line
  92. } def
  93. /shortLine
  94. {
  95.     /dy exch def
  96.     /dx exch def
  97.     /startY exch def
  98.     /startX exch def
  99.     startX  startY startX dx add startY dy add line
  100. } def
  101. /shortLineFrom
  102. {
  103.     /dy exch def
  104.     /dx exch def
  105.     currentX currentY currentX dx add currentY dy add line
  106. } def
  107. %END Lines
  108.